home *** CD-ROM | disk | FTP | other *** search
-
- comment #
-
- pix320.com displays the image that follows the code in the VGA 320x200
- by 256 color mode. The image is made using gifdcd from an appropriate
- .gif file. For example, this will make porsche.com from porsche.gif
- assuming porsche.gif is a 320x200 .gif image:
-
- C>gifdcd/w porsche
- porsche is 320x200x5 bits and 4 bits/color with a global color map
- background color is 0
- image: start 0/0 pixels from left/top, is 320x200 sequential
- code size = 5 bits
- decompressed image = 64000 pixels
- file properly terminated (but extra data at end)
-
- C>copy pix320.com/b+porsche.pix/b porsche.com
-
- #
-
- pix320 segment
- assume cs:pix320,ds:pix320,es:pix320,ss:pix320
- org 100h
- start:
- mov sp,100h
- ; select 320x200x8 VGA mode.
- mov ax,13h
- int 10h
- ; write 256 color palette.
- mov ax,1012h
- mov bx,0
- mov cx,256
- mov dx,offset image+16
- int 10h
- ; turn off screen.
- mov dx,03c4h
- mov al,1
- out dx,al
- inc dx
- in al,dx
- or al,020h
- out dx,al
- ; copy image to screen.
- cld
- mov si,offset image+16+768
- sub di,di
- mov ax,0a000h
- mov es,ax
- assume es:nothing
- mov cx,32000
- rep movsw
- ; turn on screen.
- mov dx,03c4h
- mov al,1
- out dx,al
- inc dx
- in al,dx
- and al,0dfh
- out dx,al
- ; wait for keystroke.
- mov ah,0
- int 16h
- ; restore screen and return.
- mov ax,3
- int 10h
- int 20h
- ; image starts at even byte after code.
- even
- image label byte
- pix320 ends
- end start